package flex.cc.single.service;

import java.util.Map;

import com.alibaba.fastjson.JSONObject;
import flex.cc.single.dto.vo.SingleOrderVo;

/**
 * @author R
 * 2022年04月6日 13:06:01
 * @desc 单项卡券预约信息提交
 */
public interface AppointmentService{

    /**
     * @description 单项代驾类预约提交
     * @param requestBodyMap 预约信息
     * @return
    */
	JSONObject createDriverAppointment(Map<String, Object> reqVo);

	/**
	 * @description 单项到店类预约提交
	 * @param requestBodyMap 预约信息
	 * @return
	 */
	/**
	 * @description 根据参数，保存单项到店类卡券的门店信息等
	 * @param reqVo
	 * @return
	 * @author wkangle
	 * @time 2022/04/07 0007 14:33
	 * @exception/throws
	*/
	JSONObject createStoreAppointment(Map<String, Object> reqVo);


	/**
	 * @description 根据卡券编码、服务项目编号，查询到店类卡券预约信息
	 * @param reqVo
	 * @return
	 * @author wkangle
	 * @time 2022/04/07 0007 10:42
	 * @exception/throws
	*/
    Map<String, Object> queryBookingInfo(Map<String, Object> reqVo);

	/**
	 * @description 根据用户输入的地址查询对应的坐标，用于搜索门店列表
	 * @param reqVo
	 * @return
	 * @author wkangle
	 * @time 2022-04-11 13:44:38
	 * @exception/throws
	 */
	Map<String, Object> querySearchAddress(Map<String, Object> reqVo);

	/**
	 * @description 根据用户输入的地址查询地址信息，用于获取代驾出发地、目的地详细信息
	 * @param reqVo
	 * @return
	 * @author wkangle
	 * @time 2022-04-11 13:44:38
	 * @exception/throws
	 */
	Map<String, Object> queryDrivingAddress(Map<String, Object> reqVo);

	/**
	 * @description 查询代驾单信息
	 * @param reqVo
	 * @return
	 * @author wkangle
	 * @time 2022/04/12 0012 13:01
	 * @exception/throws
	*/
	SingleOrderVo drivingProgress(Map<String, Object> reqVo);


	/**
	 * @description 单项代驾取消
	 * @param reqVo
	 * @return
	 * @author wkangle
	 * @time 2022/04/13 0013 13:56
	 * @exception/throws
	*/
	Map<String, String> driverCancel(Map<String, String> reqVo);
}
